package com.nutricia.biz.impl;

import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON;
import com.nutricia.common.util.OkHttpUtils;
import com.nutricia.core.model.vo.UserVO;

/**
 * 企业号配置查询微信code的回调地址接口（查询用户ID）
* @author wangzl
* @date 2018年5月10日
 */
@RestController
@RequestMapping("/queryUserId")
public class QueryUserIdController extends AbstractFacadeImpl{
	
	/**
	 * 微信回调接口 获取code查询userId 重定向到前台页面
	* @param request 
	* @author wangzl
	* @date 2018年3月15日
	 */
	@RequestMapping(value="getUserId", method=RequestMethod.POST)
	public void getUserId(HttpServletRequest request,HttpServletResponse response) {
		//获取回调的code值
		String code = request.getParameter("code");
		//获取数据库token值
		String token = getAccessTokenService.getAccessToken();
		//拼接查询用户信息的url
		String url = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token="+token+"&code="+code;
		//调用微信接口查询用户信息
		String json = OkHttpUtils.get(url, null);
		UserVO userVO = JSON.parseObject(json, UserVO.class);
		//将userId存进session中
		request.getSession().setAttribute("userId", userVO.getUserId());
		//重定向到前台vue_page页面 
		//获取返回前台页面的url
		String vue_page = request.getParameter("vue_page");
		vue_page += "?usetId="+userVO.getUserId();
		try {
			//重定向到前台页面内
			response.sendRedirect(vue_page);
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println("重定向到前台页面成功！");
	}
	
}
